package com.onlocation.util;

import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import com.onlocation.R;

/**
 * Author: Steve Carrell
 * Date: 5/15/12
 */
public class PreferenceUtil {
    public static SharedPreferences getPreferences() {
        return PreferenceManager.getDefaultSharedPreferences(Util.context);
    }
    
    public static int getRefreshRate() {
        return Integer.parseInt(
                PreferenceManager.getDefaultSharedPreferences(Util.context).getString(
                ResourceUtil.getString(R.string.pref_key_refresh_rate),
                String.valueOf(CoordinateUtil.DEFAULT_DELAY)));
    }
    
    public static float getRadiusUnitsMultiplier() {
        return Float.parseFloat(
                PreferenceManager.getDefaultSharedPreferences(Util.context).getString(
                        ResourceUtil.getString(R.string.pref_key_radius_units), "1.0"));
    }
    
    public static String getRadiusUnits() {
        String multiplier = String.valueOf(getRadiusUnitsMultiplier());
        String unit = "";
        String[] units = ResourceUtil.getStringArray(R.array.radiusUnit);
        String[] values = ResourceUtil.getStringArray(R.array.radiusUnitValues);
        
        if (values.length == units.length) {
            for (int i = 0; i < values.length; i++) {
                if (StringUtil.equalsIgnoreNull(values[i], multiplier)) {
                    unit = units[i];
                    break;
                }
            }
        }
        
        return unit;
    }
    
    public static int getMissedCallNotifRate() {
        if (!PreferenceManager.getDefaultSharedPreferences(Util.context).getBoolean(
                ResourceUtil.getString(R.string.pref_key_missed_calls), false)) {
            return -1;
        } else {
            return Integer.parseInt(
                    PreferenceManager.getDefaultSharedPreferences(Util.context).getString(
                            ResourceUtil.getString(R.string.pref_key_notif_rate), "0"));
        }
    }
    
    public static boolean doSilentUpdate() {
        return PreferenceManager.getDefaultSharedPreferences(Util.context).getBoolean(
                ResourceUtil.getString(R.string.pref_key_silent_update), false);
    }

    public static boolean doAutoStart() {
        return PreferenceManager.getDefaultSharedPreferences(Util.context).getBoolean(
                ResourceUtil.getString(R.string.pref_key_auto_start), false);
    }

    public static boolean doShowNotif() {
        return PreferenceManager.getDefaultSharedPreferences(Util.context).getBoolean(
                ResourceUtil.getString(R.string.pref_key_show_notif), false);
    }

    public static boolean doUseGps() {
        return PreferenceManager.getDefaultSharedPreferences(Util.context).getBoolean(
                ResourceUtil.getString(R.string.pref_key_use_gps), true);
    }
}
